package com.example.demo3.controller;

import com.example.demo3.entity.PageObj;
import com.example.demo3.service.HwAdsService;
import com.example.demo3.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/hwAds")
@Api("环卫公厕分析接口")
public class HwAdsController {
    @Autowired
    HwAdsService hwAdsService;

    @GetMapping("/hwAdsCorr")
    @ApiOperation("各种属性之间的相关性，用于热力图展示")
    public Result getCorr() {
        return hwAdsService.getCorr();
    }

    @GetMapping("/hwAdsGrade")
    @ApiOperation("厕所累计扣分，值越大扣的分越多。用于列表展示前十")
    //pageObj是分页
    public Result getGrade(PageObj pageObj) {
        return hwAdsService.getGrade(pageObj);
    }

    @GetMapping("/hwAdsNh")
    @ApiOperation("臭味排行表，值越大味越大")
    public Result getNh(PageObj pageObj) {
        return hwAdsService.getNh(pageObj);
    }

    @GetMapping("/hwAdsAmount")
    @ApiOperation("单数据显示，九龙坡区厕所总数量")
    public Result getAmount() {
        return hwAdsService.getAmount();
    }

    @GetMapping("/hwAdsToiletLevel")
    @ApiOperation("厕所的等级分布，饼图")
    public Result getLevel() {
        return hwAdsService.getLevel();
    }

    @GetMapping("/hwAdsToiletSmart")
    @ApiOperation("九龙坡去厕所智能化分布，饼图，0：无智能  1：智能")
    public Result getSmart() {
        return hwAdsService.getSmart();
    }

    @GetMapping("/hwAdsToiletUsage")
    @ApiOperation("厕所的使用量和使用率：\n" +
            "1、useage_amount：使用量   列表展示\n" +
            "2、useage_rage：使用率  列表展示\n" +
            "3、使用量还有一个汇总，把所有的使用量加起来，单数剧展示")
    public Result getUsage(PageObj pageObj) {
        return hwAdsService.getUsage(pageObj);
    }
}
